home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #11 / Amiga Plus CD - 2004 - No. 11.iso / AmiSoft / Game / misc / WormWars.lha / WormWars / Source / engine.h < prev    next >
C/C++ Source or Header  |  2004-08-22  |  4KB  |  137 lines

  1. #define OTTER_UP             0
  2. #define OTTER_DOWN           1
  3. #define OTTER_LEFT           2
  4. #define OTTER_RIGHT          3
  5.  
  6. #define NOSE                 2 // if (NOSE > PROTECTORS) then nose is disabled
  7. #define WORMQUEUELIMIT      15
  8. #define DOGQUEUELIMIT      120
  9. #define LIFEMODULO        1000
  10. #define TIMELIMIT          599 // 9:99
  11. #define SECONDSPERLEVEL    120 // assert(SECONDSPERLEVEL <= TIMELIMIT);
  12. #define WEIGHT               5
  13. #define ENCLOSURE_MIN        2 // minimum size of enclosure (interior area) (must be >= 2!)
  14. #define ENCLOSURE_MAX       20 // maximum size of enclosure (interior area)
  15.  
  16. // dog dormancy
  17. #define DORMANT              0
  18. #define AWAKENING            1
  19. #define CHASING             10
  20.  
  21. // population limits
  22. #define CREATURES           50
  23. #define MAGNETS             50
  24. #define PROTECTORS           2 // <=4!
  25.  
  26. #define ANIMSPEED_BANANA     6
  27. #define ANIMSPEED_BIRD       3
  28. #define ANIMSPEED_MISSILE    4
  29.  
  30. #define SPEED_MAGNET         9
  31. #define SPEED_PROTECTOR     12
  32.  
  33. #define DISTANCE_FAST        4
  34. #define DISTANCE_BIRD        4
  35. #define DISTANCE_GIRAFFE     5
  36. #define DISTANCE_MOUSE      10
  37. #define DISTANCE_NORMAL      3
  38. #define DISTANCE_NOSE        4
  39. #define DISTANCE_SLOW        2
  40.  
  41. #define POINTS_EMPTY         1
  42. #define POINTS_SILVER        5
  43. #define POINTS_GOLD         10
  44. #define POINTS_BANANA        20
  45. #define POINTS_CHERRY       50
  46. #define POINTS_LETTER      100
  47. #define POINTS_GRAVE       100
  48. #define POINTS_FLOWER      100
  49.  
  50. #define  ADD_AMMO         5 // in bullets
  51. #define  ADD_ARMOUR      25 // in VERYSLOWs
  52. #define  ADD_CLOCK       30 // in seconds
  53. #define  ADD_CUTTER      30 // in VERYSLOWs
  54. #define  ADD_GLOW        30 // in VERYSLOWs
  55. #define  ADD_ICE         10 // in VERYSLOWs
  56. #define  ADD_MINIHEALER   5 // in lives
  57. #define  ADD_MINIBOMB     5 // in squares radius
  58. #define  ADD_SUPERBOMB   10 // in squares radius
  59. #define  ADD_SUPERHEALER 20 // in lives
  60. #define  ADD_TREASURE    10 // in seconds
  61.  
  62. #define RAND_ARMOUR      30
  63. #define RAND_CLOCK       30
  64. #define RAND_CUTTER      25
  65. #define RAND_GLOW        50
  66. #define RAND_ICE          5
  67. #define RAND_MINIBOMB    15
  68. #define RAND_SUPERBOMB   30
  69. #define RAND_TREASURE    10
  70.  
  71. #define AMMOLIMIT       100
  72. #define ARMOURLIMIT     100
  73. #define CUTTERLIMIT     100
  74. #define GLOWLIMIT       100
  75. #define STARTLIVES      100
  76. #define LIVESLIMIT      150
  77. #define MULTILIMIT        8 /* don't set >8! */
  78. #define POWERLIMIT        6
  79. #define SCORELIMIT 99999999 // 99 million
  80.  
  81. struct CreatureStruct
  82. {   ABOOL alive, visible;
  83.     SBYTE x, y, deltax, deltay,
  84.           pos,                           // dogs, monkeys, octopi
  85.           dir,                           // octopi, bulls, frogs, birds
  86.           tonguedir,                     // frogs, octopi
  87.           tonguex;                       // frogs
  88.     UBYTE speed, last, oldlast, species,
  89.           dormant,                       // dogs, frogs
  90.           frame,                         // birds, missiles
  91.           journey, going, then,          // otters
  92.           subspecies,                    // camels, fragments
  93.           player;                        // drips, missiles, birds, dogs
  94.     ULONG score;
  95. };
  96. struct MagnetStruct
  97. {   ABOOL alive;
  98.     SBYTE x, y, player;
  99.     UBYTE object;
  100. };
  101. struct ObjectStruct
  102. {   UWORD freq;
  103.     ULONG score;
  104. };
  105. struct ProtectorStruct
  106. {   SBYTE x, y, deltax, deltay, relx, rely;
  107.     ABOOL alive, last, visible;
  108. };
  109.  
  110. #define PAIN_BOMB         3
  111. #define PAIN_GLOW         4
  112. #define PAIN_METAL        3
  113. #define PAIN_SLAYER       2
  114. #define PAIN_STONE        2
  115. #define PAIN_TELEPORT     5
  116. #define PAIN_WORMFIRE     5
  117. #define PAIN_WOOD         2
  118. #define PAIN_ENEMYTAIL    3
  119. #define PAIN_FRIENDLYTAIL 2
  120.  
  121. #define FREQ_CAMELDROP       70
  122. #define FREQ_CAMELTURN        2
  123. #define FREQ_CLOUDFIRE       25
  124. #define FREQ_CLOUDRAIN       15
  125. #define FREQ_FROGFIRE        90
  126. #define FREQ_FROGMOVE        25
  127. #define FREQ_HORSETURN       20
  128. #define FREQ_KANGAROOFIRE    20
  129. #define FREQ_KANGAROOTURN     5
  130. #define FREQ_OCTOPUSFIRE     40
  131. #define FREQ_OCTOPUSSPIN      2
  132. #define FREQ_SALAMANDERFIRE  35
  133. #define FREQ_SLIME          200
  134. #define FREQ_SLIMEGROW       95
  135. #define FREQ_SPIDERTURN       5
  136. #define FREQ_TELEPORT       500
  137.